/*
-----------------------------------------------------------------------------
This source file is part of DIVA
The project of Engineering Lab, dept. of CSIE, NTNU.

Copyright (c) 2000-2006 The Engineering Lab, dept. of CSIE, NTNU.
-----------------------------------------------------------------------------
Filename:    DIVA_RenderData.h
Description: 
			Bcz the User should not touch the 3D Engine directly,we define this data structure.
			If user have to control any thing about 3D Engine(like camera rotating or view point moving),
			user noly have to get this singleton and change some relative variable.No sooner the 3D Renderer
			will do what you want according what you changed.


-----------------------------------------------------------------------------
*/

/*------------------------------------------------------------*/
#ifndef _DIVA_RenderData_H_
#define	_DIVA_RenderData_H_
/*------------------------------------------------------------*/


class DIVA_RenderData{
public:
	~DIVA_RenderData();
	static DIVA_RenderData* getSingletonPtr();
	float mAvgFrameTime;
	float mRotX, mRotY, mRotZ;	
	bool ifUpdated();
	void moveFwd(bool);
	void moveBck(bool);
	void moveLeft(bool);
	void moveRight(bool);
	void moveUp(bool);
	void moveDown(bool);
	void rollRight(bool);
	void rollLeft(bool);
	void origin(bool);
	bool ifMoveFwd();
	bool ifMoveBck();
	bool ifMoveLeft();
	bool ifMoveRight();
	bool ifMoveUp();
	bool ifMoveDown();
	bool ifOrigin();
	bool ifRollRight();
	bool ifRollLeft();
protected:	

	DIVA_RenderData();
	//這些都是控制重繪的flag。嚴格來說，flag其實不只一個，因為包括攝影機移動的flag(moveDwd mMoveBck...等)以及給攝影機轉動視角(mRotX mRotY)以及其他
    bool mMoveFwd;
    bool mMoveBck;
    bool mMoveLeft;
    bool mMoveRight;
	bool mMoveUp ;
	bool mMoveDown ;
	bool mOrigin ;
	bool mRollRight ;
	bool mRollLeft ;
	static DIVA_RenderData* singletonPtr;


};
/*------------------------------------------------------------*/
#endif	//#ifndef _DIVA_RenderData_H_
/*------------------------------------------------------------*/